<?php
//字符串常用方法
//1.去除首位空格和特殊字符
$str = "Heddllo WorHHld!";
echo $str .
//    PHP_EOL .     //PHP中换行可以用 PHP_EOL 来替代，以提高代码的源代码级可移植性,也就是/n,
                    //而我们是界面显示需要br而不是源码的换行n,所以不用也没影响
    "<br />";
echo trim($str,"Hed!");
echo "<br />";

$str2 = " a hello world! ";
echo trim($str2, "hed!");   //因为首部干扰无效且尾部没加空格匹配,首尾真就首尾
echo "<br />";
echo trim($str2, "a hed!"); //首尾无干扰
echo "<br />";
echo trim($str2);     //看起来没区别,trim($str2)和$str2替换一下源码显示就发现了,的确会去除
echo "<br />";
echo $str2;

//2.字符串长度
echo "<br />";
echo strlen("Hello");   //中文字符串的处理使用 mb_strlen() 函数。。
echo "<br />";
echo strlen("八个字字符有多少");    //24
echo "<br />";
echo "使用mb_strlen函数:".mb_strlen("八个字字符有多少");    //8

//3.截取字符串
echo "<br />";
echo substr("Hello world",6)."<br />";   //0 1 - 6是w
echo substr("Hello world",0,10)."<br />";
echo substr("Hello world",1,8)."<br />";
$str3 = "www.baidu.com";
echo substr($str3, strpos($str3, ".") + 1 ); //baidu.com //+1是为了去除.
echo "<br />";
echo substr($str3, strpos($str3, "." , strpos($str3, "." ) + 1) + 1 , );    //com
echo "<br />";
//4.检索字符串
echo strpos("I love php, I love php too!","php")."<br />";
echo strpos("I love php, I love php too!","php",
    strpos("I love php, I love php too!","php") +1 );

echo "<br />";
$desc = "为什么我知道里面有人？九个细节，你发现了吗？@言真INKY #广东夫妇##战术名侦探#";
$dangerWord = "西藏";
if (strpos($desc, $dangerWord) === false) {
    echo "描述合理";
} else {
    echo "描述包含敏感词";
}

//5.替换字符串
echo "<br />";
echo str_replace("world","Peter","Hello world!");
echo "<br />";
$desc = "杭漂第三年买了房 
朋友说太不划算了 
亲戚说太大了 
同事说楼层太高了 
只有妈妈说：恭喜你 有家了";
echo str_replace("\n", "<br />", $desc);    //在php换行源码默认\n,所以用<br />替换能让界面显示更源码一样

echo "<br />";
$desc2 = "杭漂第三年买了房 
朋友说太不划算了 
亲戚说太大了 
同事说阿巴阿巴阿巴 
只有妈妈说：恭喜你 有家了";
echo "<pre>";
echo $desc2;
echo "</pre>";

//6.格式化字符串
echo "<br />";
echo number_format("1000000")."<br>";   //number 必需。要格式化的数字。如果未设置其他参数，
//                                              //则数字会被格式化为不带小数点且以逗号（,）作为千位分隔符。
echo number_format("1000000",2)."<br>";
//decimals 可选。规定多少个小数。如果设置了该参数，则使用点号（.）作为小数点来格式化数字。
echo number_format("1000",2,",",".");
//dec_point 可选。规定用作小数点的字符串。
//thousands_sep 可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 "xxx" 仅输出 "x"。
echo "<br />";
$num = 1999.9;
$formattedNum = number_format($num)."<br>";
echo $formattedNum;
$formattedNum = number_format($num, 2);
echo $formattedNum;

//7.分割合成字符串
    //7.1分割字符串explode
echo "<br />";
$str = "www.baidu.com";
echo "<pre>";
var_dump(explode("." , $str));
echo "</pre>";

$keywordStr = '支付宝,京东金融,度小满,理财通';
$keywordList = explode(",", $keywordStr);
var_dump($keywordList);

    //7.2合成字符串implode
echo "<br />";
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ", $arr);
//glue    可选。规定数组元素之间放置的内容。默认是 ""（空字符串）。
//price    必需。要组合为字符串的数组。

echo "<br />";
$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr)."<br>";
echo implode("+",$arr)."<br>";
echo implode("-",$arr)."<br>";
echo implode("X",$arr);





